﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using HelloMinasan.Domain;
using System.ComponentModel.DataAnnotations;

namespace HelloMinasan.Web.ViewModels
{
    public class MemberSummaryModel : BaseModel
    {
        public int Id { get; set; }

        public bool HasAvatar { get; set; }

        public int Point { get; set; }

        public DateTime? DOB { get; set; }
        public int DayOfBirth { get; set; }
        public int MonthOfBirth { get; set; }
        public int YearOfBirth { get; set; }
        public PrivacySetting DOBSetting { get; set; }
        public bool IsDOBVisible { get; set; }

        public string Gender { get; set; }
        //public PrivacySetting GenderSetting { get; set; }
        public bool IsGenderVisible { get; set; }

        public float? Longtitude { get; set; }
        public float? Lattitude { get; set; }
        [StringLength(255)]
        public string Location { get; set; }
        public PrivacySetting LocationSetting { get; set; }
        public bool IsLocationVisible { get; set; }

        public int MaritalStatusId { get; set; }
        public string MaritalStatusName { get; set; }
        public PrivacySetting MaritalStatusSetting { get; set; }
        public bool IsMaritalStatusVisible { get; set; }

        [Required(ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "RequiredObject")]
        [StringLength(50, ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "InValidMaxSize")]
        public string FirstName { get; set; }
        public PrivacySetting FirstNameSetting { get; set; }
        public bool IsFirstNameVisible { get; set; }

        [Required(ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "RequiredObject")]
        [StringLength(50, ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "InValidMaxSize")]
        public string LastName { get; set; }
        public PrivacySetting LastNameSetting { get; set; }
        public bool IsLastNameVisible { get; set; }

        [StringLength(500, ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "InValidMaxSize")]
        public string AboutMe { get; set; }
        public PrivacySetting AboutMeSetting { get; set; }
        public bool IsAboutMeVisible { get; set; }

        public string FullName
        {
            get
            {
                return string.Format("{0} {1}", FirstName, LastName);
            }
        }
    }
}